package com.demo.java.OD301_350.OD310;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【观看文艺汇演问题、最多能观看几场演出】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146104416
 */
public class OdMain {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 读取演出场次数量 N
        int N = scanner.nextInt();

        // 存储所有演出的开始和结束时间
        int[][] times = new int[N][2];

        for (int i = 0; i < N; i++) {
            int start = scanner.nextInt();  // 读取开始时间
            int duration = scanner.nextInt();  // 读取持续时间
            times[i][0] = start;  // 记录开始时间
            times[i][1] = start + duration;  // 计算并记录结束时间
        }

        // 按结束时间排序，保证优先选择最早结束的演出
        Arrays.sort(times, (a, b) -> a[1] - b[1]);

        // 记录第一场演出的结束时间
        int t = times[0][1];
        int result = 1; // 至少能看 1 场演出

        // 遍历剩余演出，选择能观看的演出
        for (int i = 1; i < times.length; i++) {
            int startTime = times[i][0];  // 当前演出的开始时间
            int endTime = times[i][1];    // 当前演出的结束时间

            // 如果当前演出与上一场间隔 >= 15 分钟，则可以观看
            if (startTime - t >= 15) {
                result++;
                t = endTime;  // 更新观看的最后一场演出的结束时间
            }
        }

        // 输出最多能观看的演出数量
        System.out.println(result);
    }
}